﻿//---------------------------------------------------------------------------------
// Copyright 2011 Microsoft Corporation
// Licensed under the Microsoft Public License (MS-PL) (the "License"); 
// You may not use this file except in compliance with the License. 
// You may obtain a copy of the License at http://www.opensource.org/licenses/ms-pl.html
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR 
// CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, 
// INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR 
// CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
// MERCHANTABLITY OR NON-INFRINGEMENT. 
// See the Microsoft Public License (MS-PL) for the specific language governing 
// permissions and limitations under the License.
//---------------------------------------------------------------------------------

using System.Runtime.Serialization;

namespace Microsoft.Telco.Web.Contracts
{

	/// <summary>
	/// Statuses for the delivery state of a message
	/// </summary>
	[DataContract(Namespace = Namespaces.V1)]
	public enum DeliveryStatus
	{

		/// <summary>
		/// Unknown delivery status
		/// </summary>
		[EnumMember]
		Unknown = 0,

		/// <summary>
		/// Delivered to the network, but not necessarily to the handset
		/// </summary>
		[EnumMember]
		DeliveredToNetwork = 1,

		/// <summary>
		/// Unable to deliver before the message expired.
		/// </summary>
		[EnumMember]
		DeliveryImpossible = 2,

		/// <summary>
		/// Transitional state, message is waiting to be delivered.
		/// </summary>
		[EnumMember]
		MessageWaiting = 3,

		/// <summary>
		/// Message was delivered to the terminal.
		/// </summary>
		[EnumMember]
		DeliveredToTerminal = 4,

		/// <summary>
		/// Network does not support notification for this message.
		/// </summary>
		[EnumMember]
		DeliveryNotificationNotSupported = 5

	}
}
